package com.kerbores.blog.module;

import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.lang.Strings;
import org.nutz.mvc.View;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.GET;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.POST;
import org.nutz.mvc.annotation.Param;

import com.kerbores.blog.bean.Note;
import com.kerbores.blog.module.common.BaseModule;
import com.kerbores.blog.service.INoteService;
import com.kerbores.utils.entries.Result;

/**
 * @author Ixion <br>
 *         create at 2014年11月3日
 */
@At("note")
public class NoteModule extends BaseModule {
	@Inject
	private INoteService noteService;

	@At("/")
	@GET
	@Ok("vel:blog/note.html")
	public Result note() {
		return Result.success().setTitle("留言");
	}

	@At("/")
	@POST
	public View note(@Param("..") Note note) {
		if (Strings.isBlank(note.getNoter())) {
			return _renderVelocity("blog/note.html", Result.fail("亲,我不知道怎么称呼你呢!").setTitle("留言"));
		}
		if (Strings.isBlank(note.getTitle())) {
			return _renderVelocity("blog/note.html", Result.fail("亲,你想和我说点啥呢?").setTitle("留言"));
		}
		if (Strings.isBlank(note.getContent())) {
			return _renderVelocity("blog/note.html", Result.fail("亲,你啥都没说吧!").setTitle("留言"));
		}
		boolean flag = noteService.save(note);
		if (flag) {
			return _renderRedirct("/");
		} else {
			return _renderVelocity("blog/note.html", Result.success().setTitle("留言"));
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.kerbores.blog.module.common.BaseModule#_getNameSpace()
	 */
	@Override
	public String _getNameSpace() {
		return "note";
	}

}
